package com.ld.hpfs.dao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.springframework.stereotype.Repository;

import com.ld.hpfs.pojo.IdDetail;
import com.ld.hpfs.pojo.Invoice;
import com.ld.hpfs.pojo.TaxSystemParameter;

@Repository
public interface SplitAndMergeMapper {

	Invoice checkMaxValue(HashMap<String, Object> ids);

	TaxSystemParameter selectTaxSysInfoById(Invoice invoice);

	List<IdDetail> getDetailsByInvoice(Invoice ivc);

	void saveInvoice(Invoice tihOriginal);

	List<Invoice> getInvoiceByCode(String code);

	Integer getInvoiceHeadId(Invoice ivc);

	void updateInvoice(Invoice ivc);

	void updateInvoiceSta(Invoice ivc);

	int saveIdDetail(IdDetail idl);

	ArrayList<HashMap<String, Object>> insertDetailManual(HashMap<String, Object> param);

	void createNewDocManual(HashMap<String, Object> param);

	void updateDocStateToSplit(HashMap<String, Object> param);

	void enterRelationTable(HashMap<String, Object> param);

	void insertRelationTable(HashMap<String, Object> param);

	List<Invoice> getInvoiceById(HashMap<String, Object> param);
	
	ArrayList<HashMap<String, Object>> orderByCustName (HashMap<String, Object> param);
	
	ArrayList<HashMap<String, Object>> orderByOrigiDocNo (HashMap<String, Object> param);
	
	String getOneTouchMake (HashMap<String, Object> param);
	ArrayList<HashMap<String, Object>> getBrotherDoc (HashMap<String, Object> param);
	ArrayList<HashMap<String, Object>> getBrotherId (HashMap<String, Object> param);
	void  setAuditedVoucher(HashMap<String, Object> param);

	void saveInvData(HashMap<String, Object> paramForINV);
	// 得到手工拆分前单据明细id
	ArrayList<HashMap<String, Object>> getManualDetailId(
			HashMap<String, Object> param);

	// 得到拆分之前单据信息
	HashMap<String, Object> getBeforeDocData(HashMap<String, Object> param);

}
